package com.download.manager.interfaces;

public interface OnDownLoadTaskCallBack {

    /**
     * 视频总大小
     * @param initialUrl 初始的url链接
     * @param key 当前下载的url链接
     * @param duration 当前链接对应的总时长
     */
    void onDuration(String initialUrl, String key, double duration);

    /**
     * 下载进度
     * @param initialUrl 初始的url链接
     * @param key 当前下载的url链接
     * @param progress 当前下载的时长
     */
    void onLoadProgress(String initialUrl, String key, double progress, double duration);

    /**
     * 下载的ts的个数进度
     * @param initialUrl 初始的url链接
     * @param key 当前下载的url链接
     * @param progress 当前下载的ts个数
     * @param duration ts总数
     */
    void onLoadTsProgress(String initialUrl, String key, int progress,double duration);

    /**
     * 下载的ts的总个数
     * @param initialUrl 初始的url链接
     * @param key 当前下载的url链接
     * @param duration 当前下载的ts总个数
     */
    void onLoadTsDuration(String initialUrl, String key, int duration);

    /**
     * 可播放的进度
     * @param initialUrl 初始的url链接
     * @param key 当前下载的url链接
     * @param progress 当前下载的可播放时长（已下载的切片的总时长）
     */
    void onCanPlayProgress(String initialUrl, String key, double progress);

    /**
     * 返回m3u8的保存文件的地址
     * @param initialUrl
     * @param key
     * @param fileName
     * @param isInitial
     */
    void onM3u8SaveFile(String initialUrl, String key, String fileName, boolean isInitial);

    /**
     * 返回ts的文件保存地址
     * @param initialUrl
     * @param key
     * @param fileName
     */
    void onTSSaveFile(String initialUrl, String key, String fileName);

    /**
     *
     * @param success
     */
    void onDownLoadFinish(String initialUrl, String key, boolean success);

    /**
     * 下载失败
     * @param initialUrl
     * @param key
     * @param success
     */
    void onDownLoadError(String initialUrl, String key, boolean success);

    /**
     * 停止下载
     * @param initialUrl
     * @param key
     */
    void onPauseDownLoad(String initialUrl, String key);

    /**
     * 开始下载
     * @param initialUrl
     * @param key
     */
    void onStartLoad(String initialUrl, String key);

}
